package com.flowCloud.result;

/**
 * 请求结果处理类
 */
public class ResultTools {
    /****
     * 错误码记录：
     * 200--------成功
     * 400--------失败
     *
     */

    /**
     * 结果
     * @param status--返回码
     * @param message---404服务器内部异常时提示消息(返回码不是404时传空即可)
     * @param data------数据源
     * @return {@link ResultModel}
     */
    private static ResultModel result(int status, String message, Object data) {
        ResultModel model = new ResultModel();
        model.setStatus(status);
        model.setMessage(message);
        if (data != null) {
            model.setData(data);
        }
        return model;
    }
    /**
     * 成功
     *
     * @param message 提示
     * @return {@link ResultModel}
     */
    public static ResultModel success(String message) {
        return result(200, message, null);
    }
    /**
     * 成功
     *
     * @param status 状态码
     * @param message 提示
     * @return {@link ResultModel}
     */
    public static ResultModel success(int status, String message) {
        return result(status, message, null);
    }
    /**
     * 成功
     *
     * @param data 数据
     * @return {@link ResultModel}
     */// success
    public static ResultModel success(Object data) {
        return result(200, "成功！", data);
    }

    /**
     * 成功
     *
     * @return {@link ResultModel}
     */
    public static ResultModel success() {
        return result(200, "成功！", null);
    }

    /**
     * 失败
     *
     * @return {@link ResultModel}
     */// fail
    public static ResultModel fail() {
        return result(400, "失败！", null);
    }

    /**
     * 失败
     *
     * @param message 消息
     * @return {@link ResultModel}
     */// fail
    public static ResultModel fail(String message) {
        return result(400, message, null);
    }

    /**
     * 失败
     *
     * @param status  状态
     * @param message 消息
     * @return {@link ResultModel}
     */// fail
    public static ResultModel fail(int status, String message) {
        return result(status, message, null);
    }

}
